import 'package:aliyun_vod_upload/model/ResumeWithTokenModel.dart';
import 'package:aliyun_vod_upload/model/authInitModel.dart';
import 'package:aliyun_vod_upload/model/stsInitModel.dart';
import 'package:aliyun_vod_upload/model/vodInfoModel.dart';
import 'package:plugin_platform_interface/plugin_platform_interface.dart';

import 'aliyun_vod_upload_method_channel.dart';

abstract class AliyunVodUploadPlatform extends PlatformInterface {
  AliyunVodUploadPlatform() : super(token: _token);
  static final Object _token = Object();
  static AliyunVodUploadPlatform _instance = MethodChannelAliyunVodUpload();
  static AliyunVodUploadPlatform get instance => _instance;
  static set instance(AliyunVodUploadPlatform instance) {
    PlatformInterface.verifyToken(instance, _token);
    _instance = instance;
  }
  Future<String?> getPlatformVersion() {
    throw UnimplementedError('platformVersion() has not been implemented.');
  }
  Future<void> initSTSUpLoader(StsInitModel stsInitModel) {
    throw UnimplementedError('initSTSUpLoader() has not been implemented.');
  }
  Future<void> initAuthUpLoader(AuthInitModel authInitModel) {
    throw UnimplementedError('initAuthUpLoader() has not been implemented.');
  }
  Future<void> resumeWithToken(ResumeWithTokenModel resumeWithTokenModel) {
    throw UnimplementedError('resumeWithToken() has not been implemented.');
  }
  Future<bool> startUpload() {
    throw UnimplementedError('startUpload() has not been implemented.');
  }
  Future<void> stopUpload() {
    throw UnimplementedError('stopUpload() has not been implemented.');
  }
  Future<void> pauseUpload() {
    throw UnimplementedError('pauseUpload() has not been implemented.');
  }
  Future<void> resumeUpload() {
    throw UnimplementedError('resumeUpload() has not been implemented.');
  }
  Future<bool> addFile(String filePath, VodInfoModel vodInfoModel) {
    throw UnimplementedError('addFile() has not been implemented.');
  }
  Future<void> deleteFile() {
    throw UnimplementedError('deleteFile() has not been implemented.');
  }
  Future<void> cancelFile() {
    throw UnimplementedError('cancelFile() has not been implemented.');
  }
  Future<void> resumeFile() {
    throw UnimplementedError('resumeFile() has not been implemented.');
  }
  Future<void> getList() {
    throw UnimplementedError('getList() has not been implemented.');
  }
  Future<void> clearList() {
    throw UnimplementedError('clearList() has not been implemented.');
  }
}
